Simulink 环境基础知识(九) | 您所在的位置:网站首页 › simulink 编程 › Simulink 环境基础知识(九) |
目录 设置模块注释属性 指定模块回调 指定模块执行优先级和标记 使用模块说明标识模块 以编程方式创建模块注释 对于模型中的每个模块,可以设置常规模块属性,例如: 模块说明 模块执行顺序 模块注释 模块回调函数 要设置模块属性,使用 Property Inspector。当模块处于选中状态时,可以在 Property Inspector 的 Properties 和 Info 选项卡上设置属性。也可以使用 Block Properties 对话框。 设置模块注释属性在 Property Inspector 中,使用 Block Annotation 部分显示选定的模块参数在注释中的值。注释显示在模块图标下方。在文本框中输入注释文本。可以在注释中使用模块属性标记。属性值将替换模型注释中的标记。要显示可以在注释中使用的标记列表,在文本框中键入 %。将显示对选定模块有效的参数。 假设为 Product 模块指定以下注释文本和标记: Multiplication = % Sample time = %在 Simulink Editor 中,模块显示以下注释: 还可以通过编程方式创建模块注释。 指定模块回调使用 Callbacks 部分指定模块回调。回调是在发生特定的模型操作(如选择或删除模块)时执行的 MATLAB® 命令。 (1)选择要为其设置回调的模块。 (2)在 Property Inspector 的 Properties 选项卡上,在 Callbacks 部分选择要为其指定回调的函数。例如,选择 OpenFcn 以指定双击模块时的行为。 (3)在文本框中,输入触发该模块函数时希望执行的命令。 将回调指定给某个函数之后,在函数列表中,该函数旁边将会显示一个星号。星号可以帮助了解已经为哪些函数指定了回调。 注意:将 OpenFcn 回调添加到模块后,双击模块不会打开模块对话框。此外,选择了模块时,模块参数不会出现在 Property Inspector 中。要设置模块参数,请从模块上下文菜单中选择 Block Parameters。 1、以编程方式设置模块回调 如何使用 OpenFcn 回调在双击模块时执行 MATLAB 脚本。例如,在 MATLAB 脚本中,可以定义变量或打开仿真数据图。 要以编程方式创建回调,选择要为其添加此属性的模块。然后,在 MATLAB 命令提示符下输入以下格式的命令: set_param(gcb,'OpenFcn','myfunction')在例子中,myfunction 表示一个有效的 MATLAB 命令或者 MATLAB 搜索路径中的一个 MATLAB 脚本。 指定模块执行优先级和标记在模块属性的 Advanced Properties 部分,可以指定模块优先级,并通过为 Tag 属性指定值来标识该模块。 Priority - 指定该模块相对于模型中其他模块的执行优先级。 Tag - 为模块指定一个标识符。指定要为模块的 Tag 参数指定的文本。设置此属性有助于通过搜索的方式或使用find_system以编程的方式在模型中找到该模块。 使用模块说明标识模块Info 选项卡显示有关模块类型的信息。此说明信息由模块的作者提供。还可以在 Description 框中输入说明,以提供有关模块实例的信息。 如果添加了说明,则可以设置模型的显示,使其将鼠标指针悬停在模块上方时在工具提示中显示该说明。要启用此工具提示,请在 Debug 选项卡上,选择 Information Overlays > Description in Tooltip 。 Description 属性可帮助通过搜索找到模块。 以编程方式创建模块注释可以使用模块的 AttributesFormatString 参数在模块下面显示指定的模块参数值。通用模块属性和模块特定的参数中介绍了模块可以具有的参数。可以使用 Simulink set_param函数将此参数设置成需要的属性格式。 属性格式可以是具有嵌入式参数名称的任何文本。嵌入式参数名称是指以 % 结尾的参数名称,例如 %。Simulink 在模块图标下面显示属性格式文本,并将每个参数名称替换为对应的值。可以使用换行符 (\n) 使每个参数单独显示一行。例如,选择 Gain 模块,然后在 MATLAB 命令提示符下输入以下命令: set_param(gcb,'AttributesFormatString','pri=%\ngain=%')Gain 模块将显示以下模块注释: 如果参数值既不是文本也不是整数,则显示 N/S(表示不支持),而不是显示值。如果参数名称无效,Simulink 将显示 ???,而不是显示值。 |
CopyRight 2018-2019 实验室设备网 版权所有 |